#ifndef __DAEMON_SUB_PROCESS_H__
#define __DAEMON_SUB_PROCESS_H__

#include <sys/types.h>

#define MAX_FAIL_COUNT 10
#define EXE_NAME "/usr/bin/gateway"  // 正式使用
// #define EXE_NAME "/home/vsgo/SmartBridge/gateway_test" // 测试使用

// 被守护的子进程信息结构体
typedef struct
{
    pid_t pid; // 子进程的pid
    char *cmd_param; // 运行子进程的命令参数  app|ota
    int fail_count; // 失败(非正常退出)的次数
} SubProcess;

/**
 * 初始化子进程
 */
SubProcess *daemon_sub_process_init(char *cmd_param);

/**
 * 查检并启动子进程
 */
int daemon_sub_process_checkStart(SubProcess *sub_process);

/**
 * 结束子进程
 */
void daemon_sub_process_exit(SubProcess *sub_process);


#endif /* __DAEMON_SUB_PROCESS_H__ */
